/**
 * 生成业务流程图图片
 * 需要安装: npm install puppeteer-core
 * 或者使用系统中已安装的Chrome
 */

import fs from 'fs';
import path from 'path';
import { fileURLToPath } from 'url';

const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);

// 读取HTML文件内容
const htmlFile = path.join(__dirname, 'business_flowchart.html');
const htmlContent = fs.readFileSync(htmlFile, 'utf-8');

console.log('业务流程图已创建！');
console.log('文件位置: ' + htmlFile);
console.log('\n生成图片的方法:');
console.log('1. 在浏览器中打开 business_flowchart.html 文件');
console.log('2. 使用浏览器的打印功能（Ctrl+P），选择"另存为PDF"');
console.log('3. 或者右键点击流程图，使用截图工具保存为图片');
console.log('\n或者使用在线工具:');
console.log('1. 访问 https://mermaid.live/');
console.log('2. 复制 business_flowchart.mmd 文件中的内容');
console.log('3. 粘贴到在线编辑器中');
console.log('4. 点击下载按钮保存为PNG/SVG图片');

// 如果可以使用puppeteer，可以取消下面的注释
/*
import puppeteer from 'puppeteer-core';

async function generateImage() {
  try {
    const browser = await puppeteer.launch({
      executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe', // Windows Chrome路径
      // executablePath: '/usr/bin/google-chrome', // Linux Chrome路径
      // executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome', // Mac Chrome路径
      headless: true
    });
    
    const page = await browser.newPage();
    await page.goto(`file://${htmlFile}`);
    await page.waitForSelector('.mermaid', { visible: true });
    await page.waitForTimeout(3000);
    
    const mermaidElement = await page.$('.mermaid');
    await mermaidElement.screenshot({ path: 'business_flowchart.png' });
    
    await browser.close();
    console.log('图片已生成: business_flowchart.png');
  } catch (error) {
    console.error('生成图片失败:', error.message);
    console.log('请使用浏览器打开HTML文件并手动截图');
  }
}

generateImage();
*/

